import React, { Component } from 'react'

// 需求：点击按钮，让数字在原来的基础上 +1
// 1. 给按钮绑定点击事件
// 2. 获取原来的数字
// 3. +1

export default class App extends Component {
  // 实例属性
  state = {
    count: 1,
  }
  // 高阶函数：返回函数的函数或者说参数是函数的函数，map()
  // 函数柯里化：通过函数调用继续返回函数，实现多次传递参数，最后统一处理的编码形式
  handleClick(a) {
    // this => 实例
    return (e) => {
      console.log(this.state.count)
    }
  }
  render() {
    return (
      <div style={{ textAlign: 'center' }}>
        <h2>计数器：{this.state.count}</h2>
        {/* 其实点击按钮的时候，执行的是 this.handleClick() 调用完毕之后的返回值（undefined） */}
        <button onClick={this.handleClick(1)}>+1</button>
      </div>
    )
  }
}

// then
// catch
/* Promise.resolve
Promise.reject
Promise.race
Promise.all
Promise.any */
